package cn.alphabets.light.util; import android.content.Context; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import cn.alphabets.light.log.Logger; /** * 地理位置相关 * Created by lin on 14/12/14. */ public class LocationUtil { private LocationManager manager; public interface Result { public void onFinished(double latitude, double longitude); } public void getLocation(Context context, final Result success) { manager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE); String provider = manager.isProviderEnabled(LocationManager.NETWORK_PROVIDER) ? LocationManager.NETWORK_PROVIDER : LocationManager.GPS_PROVIDER; manager.requestLocationUpdates(provider, 0, 0, new LocationListener() { @Override public void onLocationChanged(Location location) { if (success != null) { success.onFinished(location.getLatitude(), location.getLongitude()); } manager.removeUpdates(this); } @Override public void onStatusChanged(String provider, int status, Bundle extras) { Logger.d(provider); } @Override public void onProviderEnabled(String provider) { Logger.d(provider); } @Override public void onProviderDisabled(String provider) { Logger.d(provider); } }); } }